// ==========================================================================
// GFast自动生成controller操作代码。
// 生成日期：2024-11-13 17:44:14
// 生成路径: internal/app/system/controller/runners.go
// 生成人：gfast
// desc:跑手管理
// company:云南奇讯科技有限公司
// ==========================================================================

// 主要负责跑手审核功能相关，实际使用的功能为list， edit（审核）

package controller

import (
	"context"
	"errors"

	"github.com/tiger1103/gfast/v3/api/v1/system"
	"github.com/tiger1103/gfast/v3/internal/app/system/service"
)

type runnersController struct {
	BaseController
}

var Runners = new(runnersController)

// List 列表
func (c *runnersController) List(ctx context.Context, req *system.RunnersSearchReq) (res *system.RunnersSearchRes, err error) {
	res = new(system.RunnersSearchRes)
	res.RunnersSearchRes, err = service.Runners().List(ctx, &req.RunnersSearchReq)
	return
}

// Get 获取跑手管理
func (c *runnersController) Get(ctx context.Context, req *system.RunnersGetReq) (res *system.RunnersGetRes, err error) {
	res = new(system.RunnersGetRes)
	res.RunnersInfoRes, err = service.Runners().GetById(ctx, req.Id)
	return
}

// Add 添加跑手管理
func (c *runnersController) Add(ctx context.Context, req *system.RunnersAddReq) (res *system.RunnersAddRes, err error) {
	err = service.Runners().Add(ctx, req.RunnersAddReq)
	return
}

// Edit 修改跑手管理
func (c *runnersController) Edit(ctx context.Context, req *system.RunnersEditReq) (res *system.RunnersEditRes, err error) {
	if !service.SysUser().AccessRule(ctx, service.Context().GetUserId(ctx), "api/v1/system/runners/edit") {
		err = errors.New("没有操作权限")
		return
	}
	err = service.Runners().Edit(ctx, req.RunnersEditReq)
	return
}

// Delete 删除跑手管理
func (c *runnersController) Delete(ctx context.Context, req *system.RunnersDeleteReq) (res *system.RunnersDeleteRes, err error) {
	err = service.Runners().Delete(ctx, req.Ids)
	return
}
